Page({
  data: {
    diagnosis: {},
    steps: [],
    diagnosisResult: '',
    currentStep: 1
  },

  onLoad(options) {
    const eventChannel = this.getOpenerEventChannel();
    eventChannel.on('diagnosisData', (data) => {
      this.setData({
        diagnosis: data.diagnosis
      });
      this.loadDiagnosisSteps(data.diagnosis.id);
    });
  },

  loadDiagnosisSteps(diagnosisId) {
    let steps = [];
    switch (Number(diagnosisId)) {
      case 1: // 设备无法开机
        steps = [
          {
            id: 1,
            title: '检查电源连接',
            description: '确认设备是否正确连接到电源插座',
            options: [
              { id: 1, text: '已连接电源', result: '请进行下一步检查' },
              { id: 2, text: '未连接电源', result: '请连接电源后重试' }
            ]
          },
          {
            id: 2,
            title: '检查电源指示灯',
            description: '观察设备上的电源指示灯是否亮起',
            options: [
              { id: 1, text: '指示灯亮起', result: '设备供电正常，可能是系统问题' },
              { id: 2, text: '指示灯不亮', result: '可能是电源适配器或主板故障' }
            ]
          },
          {
            id: 3,
            title: '尝试强制重启',
            description: '长按电源键10秒以上进行强制重启',
            options: [
              { id: 1, text: '重启成功', result: '问题已解决，建议定期维护' },
              { id: 2, text: '重启失败', result: '建议联系专业维修人员' }
            ]
          }
        ];
        break;
      case 2: // 屏幕显示异常
        steps = [
          {
            id: 1,
            title: '检查屏幕连接',
            description: '确认屏幕数据线是否正确连接',
            options: [
              { id: 1, text: '连接正常', result: '请进行下一步检查' },
              { id: 2, text: '连接松动', result: '请重新连接数据线' }
            ]
          },
          {
            id: 2,
            title: '调整显示设置',
            description: '检查分辨率和刷新率设置',
            options: [
              { id: 1, text: '设置正常', result: '可能是显卡或屏幕硬件故障' },
              { id: 2, text: '设置异常', result: '请恢复默认显示设置' }
            ]
          }
        ];
        break;
      case 3: // 充电问题
        steps = [
          {
            id: 1,
            title: '检查充电器',
            description: '确认充电器是否正常工作',
            options: [
              { id: 1, text: '充电器正常', result: '请检查充电线' },
              { id: 2, text: '充电器异常', result: '请更换充电器' }
            ]
          },
          {
            id: 2,
            title: '检查充电接口',
            description: '观察充电接口是否有异物或损坏',
            options: [
              { id: 1, text: '接口正常', result: '可能是电池或主板问题' },
              { id: 2, text: '接口异常', result: '请清洁接口或更换充电线' }
            ]
          }
        ];
        break;
      case 4: // 网络连接
        steps = [
          {
            id: 1,
            title: '检查网络设置',
            description: '确认WiFi或网络设置是否正确',
            options: [
              { id: 1, text: '设置正确', result: '请重启路由器' },
              { id: 2, text: '设置错误', result: '请重新配置网络设置' }
            ]
          },
          {
            id: 2,
            title: '检查网络适配器',
            description: '确认网络适配器是否正常工作',
            options: [
              { id: 1, text: '适配器正常', result: '可能是网络服务商问题' },
              { id: 2, text: '适配器异常', result: '请更新或重新安装网络驱动' }
            ]
          }
        ];
        break;
    }
    this.setData({ steps: steps });
  },

  onOptionSelect(e) {
    const stepId = e.currentTarget.dataset.stepId;
    const optionId = e.currentTarget.dataset.optionId;
    
    // 更新当前步骤
    this.setData({
      currentStep: stepId + 1
    });

    // 如果是最后一步，显示诊断结果
    if (stepId >= this.data.steps.length) {
      this.showDiagnosisResult(optionId);
    }
  },

  showDiagnosisResult(optionId) {
    let result = '';
    switch (Number(optionId)) {
      case 1:
        result = '根据诊断结果，您的设备问题可能已经解决。如果问题仍然存在，建议联系专业维修人员。';
        break;
      case 2:
        result = '根据诊断结果，您的设备可能需要专业维修。建议预约维修服务或联系客服获取更多帮助。';
        break;
      default:
        result = '诊断完成，建议根据提示进行相应操作。如需进一步帮助，请联系客服。';
    }
    
    this.setData({
      diagnosisResult: result
    });
  },

  onBookRepair() {
    wx.navigateTo({
      url: '/pages/repair/repair'
    });
  },

  onViewMore() {
    wx.navigateTo({
      url: '/pages/productSelect/troubleshootSelect/troubleshootSelect'
    });
  },

  onRestart() {
    this.setData({
      currentStep: 1,
      diagnosisResult: ''
    });
  },

  onContactService() {
    wx.navigateTo({
      url: '/pages/contact/contact'
    });
  }
}); 